Every .mj file is a JSON document: manifestMetadata + capsuleMatrix[0]. Ground truth = code.
Exact sequence for a valid .mj from zero. Steps 1–10 produce the manifest; Step 11 signs it.
| …0001 | capsule_build_standard | Root · standard version + Merkle root of all sub-capsule IDs |
| …0002 | corroboration_verdict | Aggregator · density 5 · consensus |
| …0003 | evidence_bundle_binder | Bundle digest ↔ commit hash integrity |
| …0010 | inv_kernel_executed | WASM present and loadable |
| …0011 | inv_deterministic | Same inputs → same digest on two machines |
| …0012 | inv_manifest_logic | Mathematical logic declared |
| …0013 | inv_signed | Valid EIP-712 signature present |
| …0014 | inv_ledger_anchored | Receipt in ledger.wal |
| …0020 | slot_01_go_ref | Go struct present, TYPE_STRING syntactically valid |
| …0021 | slot_02_rust_ref | Rust oracle matches Go typeHash |
| …0022 | slot_03_wasm_module | WASM built, sha256 matches manifest |
| …0023 | slot_04_mj_manifest | .mj parses, all required fields present |
| …0024 | slot_05_domain_reg | Domain registered in domains.go |
| …0025 | slot_06_handler | HTTP handler wired, route matches manifest |
| …0026–002B | slot_07 … slot_12 | Go/Rust parity, WASM CI, test suite, legal layer, ledger entry |
| …002C–002E | slot_14, slot_16, slot_17 | Registry entry, coverage record, Go legal fields (5 types) |
| …0040 | layer_logic | WASM determinism |
| …0041 | layer_financial | unlockFeeUSD matches fee schedule |
| …0042 | layer_legal | Three clause hashes in TYPE_STRING |
| …0043 | layer_coverage | Slot 16 record chains to coverage_pricing |
| …0044 | layer_vessel | density ∈ {1,3,5}, emotionalSignature present |
| …0050 | eip712_convention | TypeString grammar, field order, typeHash parity |
| …0060–0067 | field_* (8 capsules) | capsuleId · symbolic_role · scope cap · triggers · requiredInscriptions · activationThreshold · mergePolicy · density |
| …0070–0072 | id_allocator, collision, expansion | Signed allocation receipts · uniqueness · 0xFFFE escape |
| …0080 | g2_anti_drift | FAILs any manifest matching G2 signature |
| …0090–0091 | skill_capsule, registry_capsule | SKILL.md and registry become generated projections |
All 13 gaps closed by Fable against documentation/capsules/. New file: 11_CORROBORATION_CHAIN.md.
| Field / Concept | Resolution | Target File |
|---|---|---|
| requiredInscriptions | Closed Phase 4 gate requirement + example added | 02, 03 |
| density ∈ {1,3,5} | Closed Constraint documented; Error 16 added | 02, 08 |
| mergePolicy | Closed consensus rule for activationThreshold ≥ 2 | 02, 03 |
| legal_layer block | Closed Full 6-field block + fee schedule in Layer 11 | 01, 02 |
| emotionalSignature | Closed Valid values + QUALITY_FLOOR behavior | 06 |
| layer3_applied | Closed Card 01 row added | 03 |
| 0x3E00 sub-block | Closed Range row + sub-range map + 0xFFFE escape | 07 |
| Slot 17 Go legal fields | Closed 5-field Go type table in Layer 11 | 01 |
| G2 drift pattern | Closed Full definition + 95/96 scale + wave order | 08 |
| CI-attestor key model | Closed In new 11_CORROBORATION_CHAIN.md | 11 (new) |
| MetaVerdict EIP-712 | Closed 11-field table in 11_CORROBORATION_CHAIN.md | 11 (new) |
| CorroborationReceipt | Closed 12-field table in 11_CORROBORATION_CHAIN.md | 11 (new) |
| id_expansion 128-bit | Closed Dormant 0xFFFE/capsuleIDHexV2 escape documented | 07 |
A complete, signed, production capsule rendered layer by layer. File: manifests/fintech/kyc/kyc_onboarding_attestation.mj · ID: 0x6000000000000010 · domain: fintech/kyc · density: 3
18 live domains · 90+ sub-domains · click a domain then a sub-domain to see the capsule family.
Fill in the fields to generate a valid .mj manifest skeleton. All required fields are validated in real time.
These four capsules have the richest manifest structure in the kernel. Each panel shows the actual fields from the .mj source file, annotated with what makes it different from a simple attestation capsule.
// manifests/anima/vessel/vessel_observer.mj { "manifestMetadata": { "version": 2, "name": "vessel_observer", "description": "Passive observer that reads learning_signal and writes to vessel learning ledger. Never modifies pipeline state.", "tags": ["vessel","learning","passive"] }, "capsuleMatrix": [{ "capsuleIDHex": "0x4000000000001234", "scope": "Passive", "density": 2, ← G2 drift (valid: 1,3,5) "lineageDepth": 2, "wasmRef": "wasm_modules/anima_vessel_observer.wasm", "staticOverlays": { "clarityFP": 995000, "containmentFP": 999000, "restorationFP": 990000 }, "permissions": [ "host.log_activation", "host.read_input", "host.return_output", "host.ledger_write" ← writes to learning ledger ], "triggers": [["vessel_signal_adapter", "0x4000000000001235"]], "inputs": { ← JSON Schema (not simple array) "type": "object", "required": ["capsule_id","domain","pipeline_id"], "properties": { "learning_signal": { ← nested object schema "properties": { "dynamic_clarity_fp": { "type":"integer", "minimum":0,"maximum":1000000 }, ... + 5 more fields } }, "vessel_mode": { "enum": ["observer", "active"] } } }, "payload": { "functions": { "validateSignal": { "constants": { "QUALITY_THRESHOLD": 500000 }, "logic": [ ← step-by-step logic array {"step":1,"op":"range_check", "field":"dynamic_clarity_fp", "on_fail":"set_zero_and_flag"}, ... + 5 more steps ] }, "recordObservation": { "constants": { "ENTRY_TYPE": "vessel_learning_signal" }, "logic": [ {"op":"guard", "condition":"signal_accepted == true"}, {"op":"host.ledger_write", "entry":{...full ledger payload...}} ] } }, "eventEmissions": [{ "event": "vessel.learning_signal_recorded" }], "errorHandling": { "on_range_violation": "clamp_to_zero_and_flag", "on_ledger_write_failure": "log_and_continue" } }, "vessel_integration": { ← UNIQUE to vessel capsules "mode": "observer", "graduation": { "min_observer_cycles": 10000, "min_canary_hours": 168, "require_operator_approval": true, "rollback_on_error_rate_bps": 10 } } }] }
learning_signal object with min/max constraints · payload.functions use step-by-step logic arrays with named ops · unique vessel_integration block with graduation parameters · host.ledger_write permission — this capsule actually persists data
// manifests/anima/cognition/anima_cognitive_pipe.mj // sourceRef: _quarantine_20260417.../useAnimaPipe.ts { "manifestMetadata": { "generatedAt": "2026-04-21T00:00:00.000Z", "signingStatus": "DEFERRED" }, "capsuleMatrix": [{ "capsuleIDHex": "0x3005050100000001", "scope": "Coordinating", ← 5th scope type "density": 5, "lineageDepth": 1, "wasmRef": "wasm_cache/0x3005050100000001.wasm", "wasmSha256": "7175b71de03c9e8acabd70ca...", ← sha256 "wasmBytes": 94937, "staticOverlays": { "clarityFP": 950000, "containmentFP": 990000, "restorationFP": 900000 }, "requiredInscriptions": { "system_init": 1, "engine_linkage": 1 }, "permissions": [ ← 11 permissions "host.time.wall_now_ms", "host.time.monotonic_ns", "host.time.iso_now", "host.log.info", "host.log.warn", "host.log.error", "host.call_capsule", "host.call_capsule_async", "host.ledger.record_activation", "host.read_state", "host.write_state" ], "triggers": [["capsule_input", "0x*"]], "inputs": {"capsuleData": "object"}, "outputs": {"processedResult": "object"}, "auditHints": { "fastPathEligible": false, "requiresLedgerWrite": true }, "payload": { "classification": { ← rich metadata block "kind": "orchestrator", "pureLogic": false, "deterministic": false, "ledgerWrite": true }, "siblingCapsules": { ← 7 wired siblings "lineage_validator": "0x3001010100000001", "activation_router": "0x3001020100000001", "memory_engine": "0x3001030100000001", "activation_logger": "0x3001040100000001", "symbolic_identity_synth": "0x3002010100000001", "consciousness_weaver": "0x3003010100000001", "score_engine": "0x3004010100000001" }, "constants": { ← hardcoded literals (audit §2) "TOTAL_ENGINES_USED": 5, "VALIDATIONS_PASSED": 4, "ENGINES_RECONFIGURED": 3, "PIPELINE_STAGES": [ "lineage_validation", "activation_routing", "cognitive_processing", "memory_integration" ], "PIPELINE_INTEGRATIONS": [ "SymbolicIdentitySynth", "LineageValidator", "ActivationRouter", "CognitiveCore", "MemoryEngine", "ConsciousnessWeaver", "ActivationLogger" ] }, "stateSchema": { "currentScope": { "type":"string", "initial":"Passive" }, "engineHandles": { "type":"object", "initial":{} } }, "functions": { ← 11 public functions "processCapsule": { "async": true, "classification": "HOST_DEPENDENT", "description": "8-stage cognitive pipeline...", "algorithm": "Stage 0 event scaffolding → Stage 1 SymbolicIdentitySynth (non-fatal) → Stage 2 LineageValidator (hard-fail) → Stage 3 ActivationRouter → Stage 4 CognitiveCore + 4a Score + 4b Override + 4c Telemetry → Stage 5 MemoryEngine [Reactive/Autonomous] → Stage 6 ConsciousnessWeaver (non-fatal) → Stage 7 ResultAssembly (25+ fields) → Stage 7a PropagationShim (flagged) → Stage 8 ActivationLogger" }, // + recallMemory · setScope · simulateAutonomousCapsule // + getCurrentScope · generateActivationReport // + exportActivationData · getSystemStatus // + getOrchestratorReport · getLoggingStatus · clearLogs }, "helpers": { "determineFailureStage": {...includes() matching}, "calculateComplianceRate": {...safe fallback to 0}, "analyzeDomainCoverage": {...byDomain map}, "analyzeEngineUtilization": {...byEngine map} }, "auditWarnings": [ ← 14 warnings baked in "Hardcoded enumerations preserved verbatim (§2)", "Stage 7a propagation shim flagged (§7)", ... 12 more ] } }] }
siblingCapsules map with 7 hex IDs · payload.classification metadata · payload.constants with hardcoded literals · payload.helpers block (4 pure-logic helpers) · auditWarnings array embedded in manifest · wasmSha256 + wasmBytes fields · stateSchema with persistent currentScope closure state · 8-stage algorithm description in each function
// manifests/orchestrators/anima_pipe.mj // Minimal orchestrator — no payload.functions { "capsuleMatrix": [{ "capsuleIDHex": "0x3000000000000008", "symbolicRole": "anima_pipe", "domain": "orchestration", "scope": "Global", ← scope not in standard 4 "density": 1, "lineageDepth": 1, "wasmRef": "anima_pipe_v1.wasm", // NO staticOverlays declared "triggers": [ ["symbolic_identity_synth", "0x3000000000000000"], ["lineage_validator", "0x3000000000000001"], ["activation_router", "0x3000000000000002"], ["cognitive_core", "0x3000000000000003"], ["memory_engine", "0x3000000000000004"], ["consciousness_weaver", "0x3000000000000005"], ["activation_logger", "0x3000000000000006"] ], "permissions": [ "host.log", "host.read_state", "host.write_state" ], // NO payload block // NO inputs / outputs "corePolicy": { ← replaces payload "pipeline": [ "identity", "lineage", "routing", "cognition", "memory", "weaving", "logging" ] }, "manifestHash": "144e0897174530fc11361...", "version": 1 }], "manifestMetadata": { ← bottom (not top) "manifestHash": "144e0897...", "version": 1, "signature": "mock_signature", "tags": ["orchestration", "pipeline"] } }
payload, no inputs/outputs, no staticOverlays — only corePolicy.pipeline (7 stage names) and 7 triggers. manifestMetadata is at the bottom (reversed vs v2 format). scope=Global — fifth scope type not in the standard four (Passive/Reactive/OperatorGated/Coordinating).
// manifests/anima/infra/anima_pipe_engine.mj { "manifestMetadata": { "name": "anima_pipe_engine", "description": "Central cognitive routing engine. Wires emotion routing, clause mutation, dream sequences, recursive learning, and fusion orchestration.", "tags":["infra","anima","pipe","routing"] }, "capsuleMatrix": [{ "capsuleIDHex": "0x40000000000011a2", "scope": "Reactive", "density": 8, ← G2 drift (valid: 1,3,5) "lineageDepth": 3, "staticOverlays": { "clarityFP": 960000, "containmentFP": 990000, "restorationFP": 920000 }, "permissions": [ "host.log", "host.log_activation", "host.read_state", "host.write_state", "host.call_capsule", "host.call_capsule_async", "host.call_capsule_sync", "host.time.iso_now", "host.time.wall_now_ms", "host.ledger.record_activation" ], "triggers": [ ["entity_tracker_wrapper", "0x40000000000011d7"], ["echo_router", "0x40000000000011aa"], ["fusion_engine", "0x40000000000011ab"], ["language_clause_mutation_engine", "0x400000000000128e"], ["recursive_learning_loop", "0x400000000000123e"] ], "payload": { "functions": { "initPipe": { "classification": "HOST_DEPENDENT", "algorithm": "Wire updateCapsule → entity_tracker_wrapper routeEmotion → echo_router logSystemAudit → host.log_activation Dispatch all 3 to fusion_engine async" }, "createDreamSequence": { "constants": { "DEFAULT_INTENSITY_FP": 700000, "DEFAULT_TRUST_SCORE_FP": 800000, "DREAM_CAPSULE_TYPE": "DREAM_SEQUENCE", "FIXED_SOURCE": "anima_pipe_engine", "FEEDBACK_CYCLE": true } }, "logCapsuleMutation": { "classification": "STATEFUL", "algorithm": "read archive → [...archive, mutation] → write back (immutable append)", "constants": { "CAPSULE_ARCHIVE_KEY": "anima:capsule_archive" } }, // + updateCapsule · routeEmotion // + triggerRecursiveLoop (async fire-and-continue) // + logSystemAudit · dispatchMutation }, "stateSchema": { "capsuleArchive": { "type":"array", "initial":[], "description": "append-only via host.read_state / host.write_state key: anima:capsule_archive" }, "pipeInitialized": { "type":"boolean", "initial":false } }, "errorCodes": { "ERR_DREAM_DATA_REQUIRED": "null dreamData passed", "ERR_CAPSULE_DISPATCH_FAILED": "capsuleData missing", "ERR_MUTATION_DISPATCH_FAILED":"clauseId empty" } }, "requiredInscriptions": {} }] }
payload.errorCodes dict (named error constants) · stateSchema.capsuleArchive is append-only via host state key · triggerRecursiveLoop is async fire-and-continue (non-blocking) · createDreamSequence has 12 FP constants baked in · density=8 (second G2 drift violation alongside vessel_observer density=2)
Full topology: 15 vertical domains, all feeding into the capsule input bus (0x*) — the wildcard trigger that routes ANY capsule through useAnimaPipe's 8-stage cognitive pipeline. useAnimaPipe calls 7 named sibling capsules + cognitive_core (Stage 4), which in turn calls score_engine, override_engine, telemetry_engine, and dispatches to 100+ clause capsules. The outer ecosystem clusters (learning, memory, sovereignty, cosmic) connect via recursive_learning_loop and consciousness_weaver. Scroll to zoom · drag to pan · hover nodes for details.
| # | Decision | Fable Recommendation |
|---|---|---|
| D1 | Meta-range 0x3E00… carved from kernel-internal block | Approve — ADD-ONLY, no Rule 0 violation |
| D2 | Meta-capsule unlock fee (proposed $50,000) | Operator sets final number |
| D3 | OperatorGated cap: meta-root stays Reactive + key-gating | Reactive + key-gating avoids self-referential cap violation |
| D4 | CI-attestor key (new key, not operator key) | New CI-attestor key — operator key is ceremony-only by design |
| D5 | G2 remediation via Option A (in-place, not re-ID) | Option A — cryptographically free, no ID churn |
| D6 | Genesis ceremony timing | Phase 3 — no reason to defer the trust root anchor |